<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>  
<%@ taglib uri="http://www.xnx3.com/java_xnx3/xnx3_tld" prefix="x" %>
<jsp:include page="/wm/common/head.jsp">
	<jsp:param name="title" value="聊天日志"/>
</jsp:include>
<script src="//res.weiunity.com/kefu/kefu.js"></script>
<link href="//res.weiunity.com/kefu/css/style.css" rel="stylesheet" />

<script>
//手机界面模式
kefu.mode='mobile';
kefu.api.domain = '${api}';

wm.load.css('//res.weiunity.com/kefu/css/style.css');

//标记从什么时间开始调数据
kefu.chat.chatMessageStartTime = <%=request.getParameter("time") %>;
//重写拉取数据的方法
kefu.chat.loadHistoryList = function(){
	if(!kefu.chat.currentLoadHistoryList){
		kefu.chat.currentLoadHistoryList = true;	//标记正在请求历史记录中
		if(kefu.cache.getUserMessageList(kefu.chat.otherUser.id).length < kefu.cache.everyUserNumber){
			//如果跟对方聊天的记录，本地缓存的几率条数小于本地缓存最大条数，那么就是刚开始聊天，都还没超过缓存最大数，那么也就没必要在从服务器拉更多聊天记录了
			console.log('聊天记录不足，没必要再拉更多');
			return;
		}

		var chatcontent = document.getElementById('chatcontent');
		var firstItem = chatcontent.getElementsByTagName("section")[0];

		//创建加载中的提示
		var section = document.createElement("section");
		section.className = 'chat bot systemChat';
		section.id = 'historyListLoading';
		section.innerHTML = '<div class="text systemText">历史聊天加载中...</div>';
		chatcontent.insertBefore(section,firstItem);

		//创建网络请求
		request.post('chatLog.json',{chatId:'${chatId}',otherChatId:'${otherChatId}', time:kefu.chat.chatMessageStartTime, type:'before'}, function(data){
			kefu.chat.currentLoadHistoryList = false;	//标记请求历史记录已请求完成，可以继续请求下一次聊天记录了

			var chatcontent = document.getElementById('chatcontent');
			//删除聊天记录加载中的提示
			chatcontent.removeChild(document.getElementById('historyListLoading'));
			//删除聊天记录加载中的提示section后，取第一个正常聊天沟通的section，用来作为插入的定位
			var firstItem = chatcontent.getElementsByTagName("section")[0];

			if(data.result == '0'){
				//如果失败了，那么就删掉绑定的滚动条监控，避免死循环一直请求
				document.getElementById('chatcontent').onscroll = function(){}
				//失败，弹出提示
				msg.failure(data.info);
			}else if(data.result == '1'){
				//成功
				//判断一下请求到的消息记录有多少条

				if(data.number > 0){
					//有消息记录，那么绘制出来
					for(var i = data.list.length-1; i >= 0; i--){
						var message = data.list[i];
						msg.from = 'hostory';
						var msgSection = kefu.ui.chat.generateMessageSection(message);
						chatcontent.insertBefore(msgSection,firstItem);
					}
					//重新标记历史消息的开始时间
					kefu.chat.chatMessageStartTime = data.startTime;
				}else{
					//没有更多消息了
					kefu.chat.currentLoadHistoryList = true;	//标记请求历史记录不再继续请求了，因为已经没有更多记录了
					//msg.info('没有更多消息了');
					chatcontent.insertBefore(kefu.ui.chat.generateSystemMessageSection('没有更多了'),firstItem);
				}
			}
		});
	}
}

//重写socket链接，因为不需要socket
kefu.socket.connect = function(url){};

//kefu.js 初始化
kefu.init();
//打开聊天窗口
kefu.ui.chat.entry("${chatId}");
//清空里面的本地缓存记录
document.getElementById('chatcontent').innerHTML = '';


//隐藏顶部
document.getElementById('head').style.display='none';
document.getElementById('chatcontent').style.paddingTop = '0rem';
//隐藏底部
document.getElementById('chat_footer').style.display='none';

//加载历史记录信息
kefu.cache.everyUserNumber = 0;	//先设置为0，以便能拉下第一次的记录
kefu.chat.loadHistoryList();
</script>

<jsp:include page="/wm/common/foot.jsp"></jsp:include>